home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / include / linux / efs_vh.h < prev    next >
C/C++ Source or Header  |  2005-10-13  |  2KB  |  54 lines

  1. /*
  2.  * efs_vh.h
  3.  *
  4.  * Copyright (c) 1999 Al Smith
  5.  *
  6.  * Portions derived from IRIX header files (c) 1985 MIPS Computer Systems, Inc.
  7.  */
  8.  
  9. #ifndef __EFS_VH_H__
  10. #define __EFS_VH_H__
  11.  
  12. #define VHMAGIC        0xbe5a941    /* volume header magic number */
  13. #define NPARTAB        16        /* 16 unix partitions */
  14. #define NVDIR        15        /* max of 15 directory entries */
  15. #define BFNAMESIZE    16        /* max 16 chars in boot file name */
  16. #define VDNAMESIZE    8
  17.  
  18. struct volume_directory {
  19.     char    vd_name[VDNAMESIZE];    /* name */
  20.     __be32    vd_lbn;            /* logical block number */
  21.     __be32    vd_nbytes;        /* file length in bytes */
  22. };
  23.  
  24. struct partition_table {    /* one per logical partition */
  25.     __be32    pt_nblks;    /* # of logical blks in partition */
  26.     __be32    pt_firstlbn;    /* first lbn of partition */
  27.     __be32    pt_type;    /* use of partition */
  28. };
  29.  
  30. struct volume_header {
  31.     __be32    vh_magic;            /* identifies volume header */
  32.     __be16    vh_rootpt;            /* root partition number */
  33.     __be16    vh_swappt;            /* swap partition number */
  34.     char    vh_bootfile[BFNAMESIZE];    /* name of file to boot */
  35.     char    pad[48];            /* device param space */
  36.     struct volume_directory vh_vd[NVDIR];    /* other vol hdr contents */
  37.     struct partition_table  vh_pt[NPARTAB];    /* device partition layout */
  38.     __be32    vh_csum;            /* volume header checksum */
  39.     __be32    vh_fill;            /* fill out to 512 bytes */
  40. };
  41.  
  42. /* partition type sysv is used for EFS format CD-ROM partitions */
  43. #define SGI_SYSV    0x05
  44. #define SGI_EFS        0x07
  45. #define IS_EFS(x)    (((x) == SGI_EFS) || ((x) == SGI_SYSV))
  46.  
  47. struct pt_types {
  48.     int    pt_type;
  49.     char    *pt_name;
  50. };
  51.  
  52. #endif /* __EFS_VH_H__ */
  53.  
  54.